<?php

/**
 * Alumno form.
 *
 * @package    BecArTe
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class AlumnoForm extends BaseAlumnoForm {

    public function configure() {
        unset($this['sf_guard_user_id']);
        unset($this['sede_id']);
        unset(
                $this['created_at'], $this['updated_at'], $this['created_by'], $this['updated_by']
        );
        $this->validatorSchema['email'] = new sfValidatorEmail(array('max_length' => 50));

        $jqDateConfig = "{
            dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
            monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
            prevText: '<', nextText: '>',
            }";
        $years = range(1950, 2050);
        $this->widgetSchema['fecha_nacimiento'] = new sfWidgetFormJQueryDate(array(
                    'config' => $jqDateConfig,
                    'date_widget' => // new sfWidgetFormDate(array(
                    new sfWidgetFormI18nDate(array(
                        'format' => '%day%/%month%/%year%',
                        'can_be_empty' => true,
                        'culture' => 'es',
                        'years' => array_combine($years, $years)
                    ))
                ));
        //los alumnos tienen que ser mayores a 21 años
        $hace21anios = mktime(0,0,0,12,31,date("Y")-21);
        $this->validatorSchema['fecha_nacimiento']->setOption(
              'max',
               date('Y/m/d', $hace21anios)
        );
        sfContext::getInstance()->getResponse()->addJavascript('jquery-1.4.4.min.js');
        sfContext::getInstance()->getResponse()->addJavascript('jquery-ui-1.8.9.custom.min.js');
        $this->widgetSchema['ciudad_nacimiento_id']->setOption('order_by', array('nombre', 'ASC'));
        $this->widgetSchema['ciudad_actual_id']->setOption('order_by', array('nombre', 'ASC'));
        $this->widgetSchema['nacionalidad_id']->setOption('order_by', array('nombre', 'ASC'));
        $this->embedRelation('usuario', new alumnoUsuarioForm());


        $this->mergePostValidator(
          new sfValidatorDoctrineUnique(array(
                'model' => 'alumno', 
                'column' => array('tipo_doc_id','documento')
              ), array(
                'invalid' => 'Ya existe un alumno con ese tipo y número de documento.'
              )
           )
        );
        $this->mergePostValidator(
          new sfValidatorDoctrineUnique(array(
                'model' => 'alumno', 
                'column' => array('cuil')
              )
           )
        );
    }
 


}
